package com.itheima.mapper;


import com.itheima.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.Iterator;
import java.util.List;

@Mapper //加上这个注解就是MyBatis的持久层接口
//代表应用程序在运行时会自动为该接口创建一个实现类对象(这个实现类对象就是一个代理对象)
//并且会将该实现类对象存入IOC容器中,成为IOC容器中的bean对象

public interface UserMapper {

    /**
     * 查询所有用户
     */

//    @Select("select * from user")
    public List<User> selectFindAll();


    /**
     * 根据id来删除用户信息
     */
//  @Delete("delete from user where id=#{id}")
    public void deleteById(Integer id);

    /**
     * 批量删除
     */
    void deleteByIds(@Param("ids") int[] ids);

    /**
     * 增加用户
     */
//  @Insert("insert into user(username, password, name, age) values (#{username},#{password},#{name},#{age})")
    public void insert(User user);

    /**
     * 修改用户信息
     */
//  @Update("update user set username=#{username},password=#{password},name=#{name},age=#{age}  where id=#{id} ")
    public void update(User user);

    /**
     * 查询指定用户信息
     */
//  @Select("select *from user where username=#{username} and password=#{password}")
    //username=#{username},把等号=换成like可以实现模糊查询,例如username like #{username}
    public User findByUsernameAndPassword(@Param("username") String username,
                                          @Param("password") String password
    );

}
